package com.baizhi.exception;

/**
 * 异常断言
 * Java中的‌断言是一种用于在程序运行时验证某些条件是否满足的技术手段。
 * 如果条件成立，则程序继续执行；否则，程序会抛出异常或直接终止。
 * 断言通常用于开发和测试阶段，用于快速验证程序中的假设条件或状态是否成立。‌
 */
public interface ExceptionAssert {

    int getCode(); //获取状态码的方法
    String getMessage(); //获取异常信息的方法

    default void assertIsNotNull(Object obj){ //判断对象是否为空
        if(obj == null){
            throw new EnumException(this);
        }
    }

    default void throwException(){ //抛出异常的方法
        throw new EnumException(this);
    }

    default  void assertIsEquals(Object o1,Object o2){ //断言两个对象是否相等
        if(o1==null){
            //如果o1为null的话，无法调用equals方法
            throw new EnumException(this);
        }

        if(!o1.equals(o2)){
            throw new EnumException(this);
        }
    }
}
